/*-------------------------------------------------------------------------
 *
 * readfuncs.h
 *	  read.c 和 readfuncs.c 的头文件。这些函数是
 *	  stringToNode 接口内部使用的，不应被其他任何人使用。
 *
 * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/nodes/readfuncs.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef READFUNCS_H
#define READFUNCS_H

#include "nodes/nodes.h"

/*
 * 在 read.c 中的变量，需要在 readfuncs.c 中可访问
 */
#ifdef WRITE_READ_PARSE_PLAN_TREES
extern PGDLLIMPORT bool restore_location_fields;
#endif

/*
 * read.c 中函数的原型（lisp 令牌解析器）
 */
extern const char *pg_strtok(int *length);
extern char *debackslash(const char *token, int length);
extern void *nodeRead(const char *token, int tok_len);

/*
 * readfuncs.c 中函数的原型
 */
extern Node *parseNodeString(void);

#endif							/* READFUNCS_H */
